package lab2;

public class PaddlePaddleFactory extends AbstractFactory {

    private static PaddlePaddleFactory instance;

    private PaddlePaddleFactory() {
    }

    public static PaddlePaddleFactory getInstance() {
        if (instance == null) {
            instance = new PaddlePaddleFactory();
        }
        return instance;
    }

    @Override
    Dataset createDataset() {
        return new PaddlePaddleDataset();
    }

    @Override
    Layer createLayer() {
        return new PaddlePaddleLayer();
    }

    @Override
    LossFunction createLossFunction() {
        return new PaddlePaddleLossFunction();
    }

    @Override
    Optimizer createOptimizer() {
        return new PaddlePaddleOptimizer();
    }

    @Override
    Model createModel() {
        return new PaddlePaddleModel();
    }
}
